#include <iostream>
#include <cctype>
#include <string>
using namespace std;

//统计字符
int main()
{
    string str;
    getline(cin, str);
    int alph_num = 0;
    int space_num = 0;
    int alnum_num = 0;
    int other_num = 0;

    for (auto ch : str)
    {
        if (isalpha(ch))
            ++alph_num;
        else if (ch == ' ')
            ++space_num;
        else if (isalnum(ch))
            ++alnum_num;
        else if (ispunct(ch))
            ++other_num;
    }
    cout << alph_num << endl;
    cout << space_num << endl;
    cout << alnum_num << endl;
    cout << other_num << endl;

    return 0;
}

//OR140 数列
// #include <array>
// #include <iostream>
// using namespace std;
// int main()
// {
//     int n = 0;
//     array<int, 1000001> arr;
//     arr[1] = 1;
//     arr[2] = 2;
//     for (int i = 3; i<1000000; ++i)
//     {
//         arr[i] = (2*arr[i-1] + arr[i-2]) % 32767;
//     }
//     while (cin >> n)
//     {
//         int k = 0;
//         for (int i = 0; i<n; ++i)
//         {
//             cin >> k;
//             cout << arr[k] << endl;
//         }
//     }
//     return 0;
// }